#####################################################################################################################
#####################################################################################################################
#################                          Start of all the settings                                #################
#####################################################################################################################
#####################################################################################################################


# KEY DEFINITIONS TO REMEMBER

# $Mod = WINDOWS key or Super key or Mod4
# Mod1 = ALT key
# Control = CTRL key
# Shift = SHIFT key
# Escape = ESCAPE key
# Return = ENTER or RETURN key
# KP_Enter = Keypad Enter
# Pause = PAUSE key
# Print = PRINT key
# Tab = TAB key


#####################################################################################################################
#################                          Define the $mod variable/key                             #################
#####################################################################################################################

# Key to rule them all : Super(Windows) or Alt key?

# Mod4 = Windows or Super key on keyboard
# Mod1 = Alt key on keyboard

#Set Alt key
#set $mod Mod1

#set Super key
set $mod Mod4



#####################################################################################################################
#################                          Define the movements keys - variables                    #################
#####################################################################################################################


#This is setup for qwerty
set $up l
set $down k
set $left j
set $right semicolon

#This is setup for azerty
#set $up l
#set $down k
#set $left j
#set $right m



#####################################################################################################################
#################                          Single and Dual screen                                   #################
#####################################################################################################################


# setting variables for later use
# use xrandr and/or arandr to know the names of your monitors
# use this line to tell which monitor is on the right
# xrandr --output DVI-I-2 --right-of DVI-I-1 --auto
#exec --no-startup-id xrandr --output LVDS1 --mode 1366x768 --output DP3 --mode 1920x1080 --right-of LVDS1
#exec --no-startup-id xrandr --output DVI-I-0 --right-of HDMI-0 --auto
#exec --no-startup-id xrandr --output DVI-1 --right-of DVI-0 --auto
#exec --no-startup-id xrandr --output DVI-D-1 --right-of DVI-I-1 --auto
#exec --no-startup-id xrandr --output HDMI-2 --right-of HDMI-1 --auto
exec --no-startup-id xrandr --output HDMI2 --right-of HDMI1 --auto


# my current setup

#set $firstMonitor DP3
#set $secondMonitor LVDS1

#set $firstMonitor DVI-I-0
#set $secondMonitor HDMI-0


#set $firstMonitor DVI-0
#set $secondMonitor DVI-1

#set $firstMonitor DVI-I-1
#set $secondMonitor DVI-D-1

#set $firstMonitor HDMI-1
#set $secondMonitor HDMI-2

set $firstMonitor HDMI1
set $secondMonitor HDMI2

workspace 1 output $firstMonitor
workspace 2 output $firstMonitor
workspace 3 output $firstMonitor
workspace 4 output $firstMonitor
workspace 5 output $firstMonitor
workspace 6 output $secondMonitor
workspace 7 output $secondMonitor
workspace 8 output $secondMonitor
workspace 9 output $secondMonitor
workspace 10 output $secondMonitor

# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10

# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1; workspace 1
bindsym $mod+Shift+2 move container to workspace 2; workspace 2
bindsym $mod+Shift+3 move container to workspace 3; workspace 3
bindsym $mod+Shift+4 move container to workspace 4; workspace 4
bindsym $mod+Shift+5 move container to workspace 5; workspace 5
bindsym $mod+Shift+6 move container to workspace 6; workspace 6
bindsym $mod+Shift+7 move container to workspace 7; workspace 7
bindsym $mod+Shift+8 move container to workspace 8; workspace 8
bindsym $mod+Shift+9 move container to workspace 9; workspace 9
bindsym $mod+Shift+0 move container to workspace 10; workspace 10



#####################################################################################################################
#################                          3 menu's in arcolinux                                     #################
#####################################################################################################################

# start dmenu
bindsym $mod+shift+d exec --no-startup-id dmenu_run -i -nb '#191919' -nf '#fea63c' -sb '#fea63c' -sf '#191919' -fn 'NotoMonoRegular:bold:pixelsize=14'

# gmrun
bindsym mod1+F2 exec --no-startup-id gmrun

# start xfce-appfinder
bindsym mod1+F3 exec --no-startup-id xfce4-appfinder

# start rofi full
bindsym $mod+F11 exec --no-startup-id rofi -show run -fullscreen -font "Noto Sans 13"

# start rofi small
bindsym $mod+F12 exec --no-startup-id rofi -show run -font "Noto Sans 13"



#####################################################################################################################
#################                          how to exit, logoff, suspend, ...                        #################
#####################################################################################################################

#Backup exit
#Press ctrl+alt+x - check toolbar for next choices
bindsym control+mod1+X mode "$mode_system"

set $mode_system System (k) lock, (l) logout, (u) suspend, (h) hibernate, (r) reboot, (s) shutdown
mode "$mode_system" {
    bindsym k exec --no-startup-id ~/.config/i3/scripts/i3exit.sh lock, mode "default"
    bindsym l exec --no-startup-id ~/.config/i3/scripts/i3exit.sh logout, mode "default"
    bindsym u exec --no-startup-id ~/.config/i3/scripts/i3exit.sh suspend, mode "default"
    bindsym h exec --no-startup-id ~/.config/i3/scripts/i3exit.sh hibernate, mode "default"
    bindsym r exec --no-startup-id ~/.config/i3/scripts/i3exit.sh reboot, mode "default"
    bindsym s exec --no-startup-id ~/.config/i3/scripts/i3exit.sh shutdown, mode "default"

    # back to normal: Enter or Escape
    bindsym Return mode "default"
    bindsym Escape mode "default"
}


# ArcoLinux Logout
bindsym $mod+Shift+e exec --no-startup-id arcolinux-logout
bindsym $mod+X exec --no-startup-id arcolinux-logout


#####################################################################################################################
#################                          reload changed configuration                             #################
#####################################################################################################################


# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart

# reload the configuration file
bindsym $mod+Shift+c reload




#####################################################################################################################
#################                          Stopping an application                                  #################
#####################################################################################################################

# kill focused window
bindsym $mod+Shift+q kill
bindsym $mod+q kill



#####################################################################################################################
#################                          Moving around in i3                                      #################
#####################################################################################################################


# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod

# toggle tiling / floating
bindsym $mod+Shift+space floating toggle

# change focus
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right

# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

# move focused window
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right

# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right




#####################################################################################################################
#################                          moving around workspaces                                 #################
#####################################################################################################################


# next/previous workspace

bindsym Mod1+Tab workspace next
bindsym Mod1+Shift+Tab workspace prev
bindsym $mod+Tab workspace back_and_forth

#navigate workspaces next / previous
bindsym Mod1+Ctrl+Right workspace next
bindsym Mod1+Ctrl+Left workspace prev

# switch to workspace with urgent window automatically
for_window [urgent=latest] focus





#####################################################################################################################
#################                          Tiling parameters                                        #################
#####################################################################################################################

# orientation for new workspaces
default_orientation horizontal

# split in horizontal orientation
bindsym $mod+h split h

# split in vertical orientation
bindsym $mod+v split v

# enter fullscreen mode for the focused container
# Super + F in arcolinux is execute thunar
bindsym $mod+f fullscreen toggle

# change container layout (stacked, tabbed, toggle split)
# qwerty/azerty issue for letter z
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split


# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

# focus the parent container
bindsym $mod+a focus parent

# focus the child container
#bindsym $mod+d focus child





#####################################################################################################################
#################                          resize                                                   #################
#####################################################################################################################

# Resizing by 1
bindsym $mod+Mod1+Ctrl+Right resize shrink width 1 px or 1 ppt
bindsym $mod+Mod1+Ctrl+Up resize grow height 1 px or 1 ppt
bindsym $mod+Mod1+Ctrl+Down resize shrink height 1 px or 1 ppt
bindsym $mod+Mod1+Ctrl+Left resize grow width 1 px or 1 ppt


####################################################################################################################
#old resize keybindings
# resize window (you can also use the mouse for that)

#bindsym $mod+r mode "resize"

#mode "resize" {
        # These bindings trigger as soon as you enter the resize mode

        # Pressing left will shrink the window’s width.
        # Pressing right will grow the window’s width.
        # Pressing up will shrink the window’s height.
        # Pressing down will grow the window’s height.
 #      bindsym $left       resize shrink width 10 px or 10 ppt
 #      bindsym $down       resize grow height 10 px or 10 ppt
 #      bindsym $up         resize shrink height 10 px or 10 ppt
 #      bindsym $right      resize grow width 10 px or 10 ppt

        # same bindings, but for the arrow keys
 #      bindsym Left        resize shrink width 10 px or 10 ppt
 #      bindsym Down        resize grow height 10 px or 10 ppt
 #      bindsym Up          resize shrink height 10 px or 10 ppt
 #      bindsym Right       resize grow width 10 px or 10 ppt

        # back to normal: Enter or Escape
 #      bindsym Return mode "default"
 #      bindsym Escape mode "default"
#}


#####################################################################################################################
#################                          choose the font                                          #################
#####################################################################################################################

# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
# choose your font
font pango:Noto Mono Regular 13





#####################################################################################################################
#################                          assign applications to workspaces                       #################
#####################################################################################################################

# Assign application to start on a specific workspace
# you can find the class with the program xprop

# Workspace 1 browser related
#assign [class="Firefox|Vivaldi-stable|Vivaldi-snapshot|Opera"]                      → 1
#assign [class="Chromium|Google-chrome"]                                             → 1

# Workspace 2 text editor related
#assign [class="sublime-text|sublime_text|Sublime_text|subl|Subl|subl3|Subl3"]       → 2
#assign [class="Xed|xed|Brackets|Atom|Code|Geany"]                                   → 2

# Workspace 3 Inkscape
#assign [class="Inkscape"]                                                           → 3

# Workspace 4 Gimp
#assign [class="Gimp"]                                                               → 4

# Workspace 5 Images and meld
#assign [class="ristretto|Ristretto|shotwell|Shotwell|Xviewer|Nitrogen"]             → 5
#assign [class="feh|gthumb|Gthumb|eog|Eog|Pinta|pixeluvo|Pixeluvo"]                  → 5
#assign [class="Meld"]                                                               → 5

# Workspace 6 all video related software
#assign [class="Vlc|vlc"]                                                            → 6

# Workspace 7 virtual machines and settings
#assign [class="Vmplayer|VirtualBox"]						    → 7

# Workspace 8 file managers
#assign [class="Nemo|Thunar|Caja|nautilus|Nautilus"]                                 → 8

# Workspace 9 email clients
#assign [class="Geary|Evolution"]                                                    → 9

# Workspace 10 music related
#assign [class="Spotify|spotify"]                                                    → 10
#fix for spotify not moving to workspace 10
#for_window [class="Spotify"] move to workspace 10




#####################################################################################################################
#################           autostart   -    execute applications at boot time                      #################
#####################################################################################################################

# USER APPLICATIONS TO START AT BOOT

# ArcoLinux Welcome App
exec --no-startup-id dex $HOME/.config/autostart/arcolinux-welcome-app.desktop

# Autotiling
exec_always --no-startup-id autotiling

#browser
#exec --no-startup-id vivaldi-stable
for_window [class="Vivaldi-stable"] focus

#text-editor
#exec --no-startup-id geany
#exec --no-startup-id atom

#file manager
#exec --no-startup-id thunar

#Mail clients
#exec --no-startup-id evolution

#Music
#exec --no-startup-id spotify
for_window [class="Spotify"] focus



# TRAY APPLICATIONS

# applications that are not installed will not start
# you may see a wheel - hashtag out things you do not want

#Authentication dialog
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &

# Updater
exec --no-startup-id pamac-tray

# bluetooth
#exec --no-startup-id blueberry-tray

# network
exec --no-startup-id nm-applet

# num lock activated
exec_always --no-startup-id numlockx on

# dropbox
#exec --no-startup-id dropbox start

# insync
#exec --no-startup-id insync start

# volume
#exec --no-startup-id pasystray
exec --no-startup-id volumeicon

#variety
#exec --no-startup-id variety

# clipman
#exec --no-startup-id xfce4-clipman

#Conky
exec --no-startup-id conky -c ~/.config/i3/system-overview

#feh sets wallpaper
exec --no-startup-id feh --bg-fill /usr/share/backgrounds/arcolinux/arco-wallpaper.jpg &

#Polybar
exec_always --no-startup-id ~/.config/polybar/launch.sh &

#####################################################################################################################
#################                                 system applications                               #################
#####################################################################################################################

exec --no-startup-id xfce4-power-manager &
# ommitted next line to get super key to bring up the menu in xfce and avoid error then in i3
# IF xfsettingsd is activated you can not change themes
#exec --no-startup-id xfsettingsd &
exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd &

#####################################################################################################################
#################                          applications keyboard shortcuts                          #################
#####################################################################################################################

#not workspace related

#ArcoLinux Welcome App
bindsym control+mod1+w exec --no-startup-id arcolinux-welcome-app

#ArcoLinux Tweak Tool
bindsym control+mod1+e exec --no-startup-id arcolinux-tweak-tool

#conky
bindsym $mod+c exec --no-startup-id conky-toggle
bindsym control+mod1+Next exec --no-startup-id conky-rotate -n
bindsym control+mod1+Prior exec --no-startup-id conky-rotate -p

# terminal
bindsym $mod+Return exec --no-startup-id termite;focus
bindsym $mod+KP_Enter exec --no-startup-id termite;focus
bindsym control+mod1+t exec --no-startup-id termite; focus
bindsym control+mod1+Return exec --no-startup-id termite; focus
bindsym control+mod1+KP_Enter exec --no-startup-id termite; focus
bindsym F12 exec --no-startup-id xfce4-terminal --drop-down; focus

#System monitor
bindsym control+Shift+Escape exec --no-startup-id xfce4-taskmanager;focus

#settings
bindsym control+mod1+m exec --no-startup-id xfce4-settings-manager

#catfish
bindsym control+mod1+c exec --no-startup-id catfish;focus

#arcolinux-logout
bindsym control+mod1+k exec --no-startup-id arcolinux-logout
bindsym control+mod1+l exec --no-startup-id arcolinux-logout

#rofi theme selector
bindsym control+mod1+r exec --no-startup-id rofi-theme-selector

#arcolinux conflict
#bindsym $mod+m exec --no-startup-id pragha;focus

#htop
#arcolinux conflict
#bindsym $mod+h exec --no-startup-id htop;focus

#pavucontrol
#arcolinux conflict
bindsym control+mod1+u exec --no-startup-id pavucontrol

# start xfce-appfinder
#arcolinux does not seem to work
bindsym control+mod1+a exec --no-startup-id xfce4-appfinder

#pamac-manager
bindsym control+mod1+p exec --no-startup-id pamac-manager

#xkill
bindsym --release $mod+Escape exec xkill

#workspace related

#workspace 1 related
bindsym $mod+F1 exec --no-startup-id exo-open --launch webbrowser;focus
#qwerty/azerty conflict with w
bindsym $mod+w exec --no-startup-id exo-open --launch webbrowser;focus
bindsym control+mod1+f exec --no-startup-id firefox;focus
bindsym control+mod1+v exec --no-startup-id vivaldi-stable;focus
bindsym control+mod1+g exec --no-startup-id chromium;focus

#workspace 2 related
#bindsym $mod+F2 exec --no-startup-id geany;focus
bindsym $mod+F2 exec --no-startup-id atom;focus

#workspace 3 related
bindsym $mod+F3 exec --no-startup-id inkscape;focus

#workspace 4 related
bindsym $mod+F4 exec --no-startup-id gimp;focus

#workspace 5 related
bindsym $mod+F5 exec --no-startup-id meld;focus
bindsym control+mod1+i exec --no-startup-id nitrogen;focus

#workspace 6 related
bindsym $mod+F6 exec --no-startup-id vlc;focus

#workspace 7 related
bindsym $mod+F7 exec --no-startup-id virtualbox;focus

#workspace 8 related
for_window [class="Thunar"] focus
bindsym $mod+F8 exec --no-startup-id thunar;focus
bindsym $mod+Shift+Return exec --no-startup-id thunar;focus
bindsym $mod+Shift+KP_Enter exec --no-startup-id thunar;focus
bindsym control+mod1+b exec --no-startup-id thunar;focus

#workspace 9 related
bindsym $mod+F9 exec --no-startup-id evolution;focus
#bindsym $mod+F9 exec --no-startup-id geary;focus
#bindsym control+mod1+e exec --no-startup-id geary;focus

#workspace 10 related
bindsym $mod+F10 exec --no-startup-id spotify;focus
bindsym control+mod1+s exec --no-startup-id spotify;focus




#####################################################################################################################
#################                          screenshots                                              #################
#####################################################################################################################


bindsym Print exec --no-startup-id scrot 'ArcoLinux-%Y-%m-%d-%s_screenshot_$wx$h.jpg' -e 'mv $f $$(xdg-user-dir PICTURES)'
bindsym Control+Print exec --no-startup-id xfce4-screenshooter
bindsym Control+Shift+Print exec --no-startup-id gnome-screenshot -i
#bindsym shift+Print exec --no-startup-id shutter





#####################################################################################################################
#################                          floating or tiled                                        #################
#####################################################################################################################


#floating enabled from some programs - find with xprop

for_window [class="Arcolinux-welcome-app.py"] floating enable
#for_window [class="Arcolinux-tweak-tool.py"] floating enable
for_window [class="Arcolinux-calamares-tool.py"] floating enable
for_window [class="Bleachbit"] floating disable
for_window [class="Blueberry.py"] floating enable
for_window [class="Brasero"] floating disable
for_window [class="Galculator"] floating enable
for_window [class="Gnome-disks"] floating disable
for_window [class="^Gnome-font-viewer$"] floating enable
for_window [class="^Gpick$"] floating enable
for_window [class="Hexchat"] floating disable
for_window [class="Imagewriter"] floating enable
for_window [class="Font-manager"] floating enable
#for_window [class="qt5ct|Lxappearance] floating enable
for_window [class="Nitrogen"] floating disable
for_window [class="Pavucontrol"] floating disable
for_window [class="Peek"] floating enable
for_window [class="^Skype$"] floating enable
for_window [class="^Spotify$"] floating disable
for_window [class="System-config-printer.py"] floating enable
for_window [class="Unetbootin.elf"] floating enable
for_window [class="Usb-creator-gtk"] floating enable
for_window [class="^Vlc$"] floating disable
for_window [class="Wine"] floating disable
for_window [class="Xfburn"] floating disable
for_window [class="Xfce4-appfinder"] floating enable
for_window [class="Xfce4-settings-manager"] floating disable
for_window [class="Xfce4-taskmanager"] floating enable


#for_window [instance="gimp"] floating disable
for_window [instance="script-fu"] border normal
for_window [instance="variety"] floating disable


for_window [title="Copying"] floating enable
for_window [title="Deleting"] floating enable
for_window [title="Moving"] floating enable
for_window [title="^Terminator Preferences$"] floating enable


#for_window [window_role="^gimp-toolbox-color-dialog$"] floating enable
for_window [window_role="pop-up"] floating enable
for_window [window_role="^Preferences$"] floating enable
for_window [window_role="setup"] floating enable






#####################################################################################################################
#################                          give focus to applications                               #################
#####################################################################################################################


for_window [class="Gnome-terminal"] focus
for_window [class="Termite"] focus
for_window [class="Terminator"] focus






#####################################################################################################################
#################                          variety for your wallpapers                              #################
#####################################################################################################################


#Variety keybindings mod1 = ALT
# trash wallpaper
bindsym mod1+t exec --no-startup-id variety -t
# next wallpaper
bindsym mod1+n exec --no-startup-id variety -n
bindsym mod1+Right exec --no-startup-id variety -n
# previous wallpaper
bindsym mod1+p exec --no-startup-id variety -p
bindsym mod1+Left exec --no-startup-id variety -p
# favorite wallpaper
bindsym mod1+f exec --no-startup-id variety -f
# pause wallpaper
bindsym mod1+Up exec --no-startup-id variety --pause
# resume wallpaper
bindsym mod1+Down exec --no-startup-id variety --resume


#####################################################################################################################
#################                          variety with pywal for your wallpapers                   #################
#####################################################################################################################

# next wallpaper
bindsym mod1+Shift+n exec --no-startup-id variety -n && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&
# previous wallpaper
bindsym mod1+Shift+p exec --no-startup-id variety -p && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&
# trash wallpaper
bindsym mod1+Shift+t exec --no-startup-id variety -t && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&
# Update Wallpaper
bindsym mod1+Shift+u exec --no-startup-id wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)


#####################################################################################################################
#################                          audio settings                                           #################
#####################################################################################################################


bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer -D pulse sset Master '5%+'"
bindsym XF86AudioLowerVolume exec --no-startup-id "amixer -D pulse sset Master '5%-'"
bindsym XF86AudioMute exec --no-startup-id "amixer -D pulse set Master toggle"
#https://github.com/acrisci/playerctl/
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindsym XF86AudioStop exec --no-startup-id playerctl stop
#bindsym XF86AudioPlay exec --no-startup-id "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"
#bindsym XF86AudioNext exec --no-startup-id "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next"
#bindsym XF86AudioPrev exec --no-startup-id "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous"
#bindsym XF86AudioStop exec --no-startup-id "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop"


#####################################################################################################################
#################                          xbacklight                                               #################
#####################################################################################################################

bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 20 # decrease screen brightness



#####################################################################################################################
#################                          bar toggle                                               #################
#####################################################################################################################


# bar toggle, hide or show
bindsym $mod+b bar mode toggle


#####################################################################################################################
#################                          border control                                           #################
#####################################################################################################################


# Border control
hide_edge_borders both
bindsym $mod+shift+b exec --no-startup-id i3-msg border toggle

#changing border style
#super+t in arcolinux is starting terminal
bindsym $mod+t border normal
bindsym $mod+y border 1pixel
bindsym $mod+u border none


#new_window pixel 1
new_window normal
#new_window none

#new_float pixel 1
new_float normal
#new_float none




#####################################################################################################################
#################                          Popups  control                                          #################
#####################################################################################################################

#Popups during fullscreen mode
popup_during_fullscreen smart




#####################################################################################################################
#################                          i3 gaps next                                             #################
#####################################################################################################################

# Settings for I3 next gap git
# https://github.com/Airblader/i3/tree/gaps-next
# delete or uncomment the following lines if you do not have it or do not
# want it


for_window [class="^.*"] border pixel 2
gaps inner 5
gaps outer 5
#smart_gaps on
#smart_borders on





#####################################################################################################################
#################                          i3 gaps change                                           #################
#####################################################################################################################



set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"

mode "$mode_gaps" {
        bindsym o      mode "$mode_gaps_outer"
        bindsym i      mode "$mode_gaps_inner"
        bindsym Return mode "default"
        bindsym Escape mode "default"
}

mode "$mode_gaps_inner" {
        bindsym plus  gaps inner current plus 5
        bindsym minus gaps inner current minus 5
        bindsym 0     gaps inner current set 0

        bindsym Shift+plus  gaps inner all plus 5
        bindsym Shift+minus gaps inner all minus 5
        bindsym Shift+0     gaps inner all set 0

        bindsym Return mode "default"
        bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
        bindsym plus  gaps outer current plus 5
        bindsym minus gaps outer current minus 5
        bindsym 0     gaps outer current set 0

        bindsym Shift+plus  gaps outer all plus 5
        bindsym Shift+minus gaps outer all minus 5
        bindsym Shift+0     gaps outer all set 0

        bindsym Return mode "default"
        bindsym Escape mode "default"
}




#####################################################################################################################
#################                          picom of i3wm                                          #################
#####################################################################################################################

#if you want transparency on non-focused windows, ...
exec_always --no-startup-id picom --config ~/.config/i3/picom.conf

bindsym control+mod1+o exec --no-startup-id ~/.config/i3/scripts/picom-toggle.sh

#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#################                          bar appearance                                           #################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################

##START THEMING WM
#Theme name : ArcoLinux Default

  # class                 border  backgr. text    indicator
  client.placeholder      #242424 #242424 #242424
  client.background       #242424 #242424 #242424
  client.focused          #6790EB #6790EB #e5e5e5 #6790EB
  client.unfocused        #222222 #222222 #aaaaaa #222222
  client.focused_inactive #222222 #222222 #a9a9a9 #222222
  client.urgent           #d42121 #d42121 #f7f7f7 #d42121

##STOP THEMING WM

#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
########################################               THE   END          ###########################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################



#####################################################################################################################
#################                          Scratchpad                                               #################
#####################################################################################################################

# NOT USED

# move the currently focused window to the scratchpad
# bindsym Mod1+Shift+minus move scratchpad

# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym Mod1+minus scratchpad show

#####################################################################################################################
#################                          mouse settings in i3                                     #################
#####################################################################################################################

# NOT USED

# mouse settings
# The middle button over a titlebar kills the window
# bindsym --release button2 kill

# The middle button and a modifer over any part of the window kills the window
# bindsym --whole-window $mod+button2 kill

# The right button toggles floating
# bindsym button3 floating toggle
# bindsym $mod+button3 floating toggle

# The side buttons move the window around
# bindsym button9 move left
# bindsym button8 move right


#####################################################################################################################
#################                          keyboard control                                         #################
#####################################################################################################################

# NOT USED

# Settings of arcolinux will be applied
#exec --no-startup-id setxkbmap be
#exec --no-startup-id setxkbmap us



#####################################################################################################################
#################                          unclutter                                                #################
#####################################################################################################################

# NOT USED

# get the mouse out of the way with unclutter
#exec --no-startup-id unclutter
